﻿using SketchUpAPI.NET.Enums;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace SketchUpAPI.NET.Objects
{
    [StructLayout(LayoutKind.Sequential, Pack = 8)]
    public struct ComponentBehavior
    {
        /// <summary>
        /// 组件捕捉方式
        /// </summary>
        public SUSnapToBehavior component_snap;

        /// <summary>
        /// 组件是否在面上开口
        /// </summary>
        bool component_cuts_opening;

        /// <summary>
        /// 组件是否一直朝向相机
        /// </summary>
        bool component_always_face_camera;

        /// <summary>
        /// 组件是否总是投射阴影
        /// </summary>
        bool component_shadows_face_sun;

        /// <summary>
        /// 
        /// </summary>
        /// <remarks>
        /// <para>Bit0: disable scale along X axis,</para>
        /// <para>Bit1: disable scale along Y axis,</para>
        /// <para>Bit2: disable scale along Z axis,</para>
        /// <para>Bit3: disable scale in X-Z plane,</para>
        /// <para>Bit4: disable scale in Y-Z plane,</para>
        /// <para>Bit5: disable scale in X-Y plane,</para>
        /// <para>Bit6: disable scale uniform(XYZ)</para>
        /// </remarks>
        int component_no_scale_mask;
    }
}